﻿using System;
using System.ComponentModel;
using System.Reflection;
using System.Runtime.InteropServices;

namespace Teigha.Core
{
	public class OdDbBaseHostAppServices : OdRxObject
	{
		[EditorBrowsable(EditorBrowsableState.Never)]
		public OdDbBaseHostAppServices(IntPtr cPtr, bool cMemoryOwn) : base(GlobalsPINVOKE.OdDbBaseHostAppServices_SWIGUpcast(cPtr), cMemoryOwn)
		{
			this.swigCPtr = new HandleRef(this, cPtr);
		}

		[EditorBrowsable(EditorBrowsableState.Never)]
		public static HandleRef getCPtr(OdDbBaseHostAppServices obj)
		{
			if (obj != null)
			{
				return obj.swigCPtr;
			}
			return new HandleRef(null, IntPtr.Zero);
		}

		~OdDbBaseHostAppServices()
		{
			this.Dispose();
		}

		public override void Dispose()
		{
			if (this.swigCPtr.Handle != IntPtr.Zero)
			{
				if (this.swigCMemOwn)
				{
					lock (this.locker)
					{
						if (this.swigCPtr.Handle != IntPtr.Zero && this.swigCMemOwn)
						{
							this.swigCMemOwn = false;
							GlobalsPINVOKE.delete_OdDbBaseHostAppServices(this.swigCPtr);
						}
					}
					this.swigCMemOwn = false;
				}
				this.swigCPtr = new HandleRef(null, IntPtr.Zero);
			}
			GC.SuppressFinalize(this);
			base.Dispose();
		}

		public OdDbBaseHostAppServices() : this(GlobalsPINVOKE.new_OdDbBaseHostAppServices(), MemoryManager.GetMemoryManager().GetCurrentTransaction() == null)
		{
			MemoryTransaction currentTransaction = MemoryManager.GetMemoryManager().GetCurrentTransaction();
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbBaseHostAppServices(this.swigCPtr.Handle, true));
			}
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			this.SwigDirectorConnect();
		}

		public new static OdDbBaseHostAppServices cast(OdRxObject pObj)
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = GlobalsPINVOKE.OdDbBaseHostAppServices_cast(OdRxObject.getCPtr(pObj));
			OdDbBaseHostAppServices result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdDbBaseHostAppServices)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdDbBaseHostAppServices)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdDbBaseHostAppServices)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new static OdRxClass desc()
		{
			OdRxClass result = (OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(GlobalsPINVOKE.OdDbBaseHostAppServices_desc(), false);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdRxClass isA()
		{
			OdRxClass result = (OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(this.SwigDerivedClassHasMethod("isA", OdDbBaseHostAppServices.swigMethodTypes1) ? GlobalsPINVOKE.OdDbBaseHostAppServices_isASwigExplicitOdDbBaseHostAppServices(this.swigCPtr) : GlobalsPINVOKE.OdDbBaseHostAppServices_isA(this.swigCPtr), false);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdRxObject queryX(OdRxClass protocolClass)
		{
			OdRxObject result = Teigha.Core.Helpers.odrxCreateObjectInternal(this.SwigDerivedClassHasMethod("queryX", OdDbBaseHostAppServices.swigMethodTypes0) ? GlobalsPINVOKE.OdDbBaseHostAppServices_queryXSwigExplicitOdDbBaseHostAppServices(this.swigCPtr, OdRxClass.getCPtr(protocolClass)) : GlobalsPINVOKE.OdDbBaseHostAppServices_queryX(this.swigCPtr, OdRxClass.getCPtr(protocolClass)), false);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public static OdDbBaseHostAppServices createObject()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = GlobalsPINVOKE.OdDbBaseHostAppServices_createObject();
			OdDbBaseHostAppServices result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdDbBaseHostAppServices)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdDbBaseHostAppServices)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdDbBaseHostAppServices)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string findFile(string filename, OdRxObject pDb, OdDbBaseHostAppServices.FindFileHint hint)
		{
			string result = GlobalsPINVOKE.OdDbBaseHostAppServices_findFile__SWIG_0(this.swigCPtr, filename, OdRxObject.getCPtr(pDb), (int)hint);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string findFile(string filename, OdRxObject pDb)
		{
			string result = GlobalsPINVOKE.OdDbBaseHostAppServices_findFile__SWIG_1(this.swigCPtr, filename, OdRxObject.getCPtr(pDb));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string findFile(string filename)
		{
			string result = GlobalsPINVOKE.OdDbBaseHostAppServices_findFile__SWIG_2(this.swigCPtr, filename);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdDbHostAppProgressMeter newProgressMeter()
		{
			IntPtr intPtr = this.SwigDerivedClassHasMethod("newProgressMeter", OdDbBaseHostAppServices.swigMethodTypes5) ? GlobalsPINVOKE.OdDbBaseHostAppServices_newProgressMeterSwigExplicitOdDbBaseHostAppServices(this.swigCPtr) : GlobalsPINVOKE.OdDbBaseHostAppServices_newProgressMeter(this.swigCPtr);
			OdDbHostAppProgressMeter result = (intPtr == IntPtr.Zero) ? null : new OdDbHostAppProgressMeter(intPtr, false);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual void releaseProgressMeter(OdDbHostAppProgressMeter pProgressMeter)
		{
			if (this.SwigDerivedClassHasMethod("releaseProgressMeter", OdDbBaseHostAppServices.swigMethodTypes6))
			{
				GlobalsPINVOKE.OdDbBaseHostAppServices_releaseProgressMeterSwigExplicitOdDbBaseHostAppServices(this.swigCPtr, OdDbHostAppProgressMeter.getCPtr(pProgressMeter));
			}
			else
			{
				GlobalsPINVOKE.OdDbBaseHostAppServices_releaseProgressMeter(this.swigCPtr, OdDbHostAppProgressMeter.getCPtr(pProgressMeter));
			}
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual string program()
		{
			string result = GlobalsPINVOKE.OdDbBaseHostAppServices_program(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string product()
		{
			string result = GlobalsPINVOKE.OdDbBaseHostAppServices_product(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string companyName()
		{
			string result = GlobalsPINVOKE.OdDbBaseHostAppServices_companyName(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual ProdIdCode prodcode()
		{
			ProdIdCode result = (ProdIdCode)(this.SwigDerivedClassHasMethod("prodcode", OdDbBaseHostAppServices.swigMethodTypes10) ? GlobalsPINVOKE.OdDbBaseHostAppServices_prodcodeSwigExplicitOdDbBaseHostAppServices(this.swigCPtr) : GlobalsPINVOKE.OdDbBaseHostAppServices_prodcode(this.swigCPtr));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string releaseMajorMinorString()
		{
			string result = this.SwigDerivedClassHasMethod("releaseMajorMinorString", OdDbBaseHostAppServices.swigMethodTypes11) ? GlobalsPINVOKE.OdDbBaseHostAppServices_releaseMajorMinorStringSwigExplicitOdDbBaseHostAppServices(this.swigCPtr) : GlobalsPINVOKE.OdDbBaseHostAppServices_releaseMajorMinorString(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual int releaseMajorVersion()
		{
			int result = this.SwigDerivedClassHasMethod("releaseMajorVersion", OdDbBaseHostAppServices.swigMethodTypes12) ? GlobalsPINVOKE.OdDbBaseHostAppServices_releaseMajorVersionSwigExplicitOdDbBaseHostAppServices(this.swigCPtr) : GlobalsPINVOKE.OdDbBaseHostAppServices_releaseMajorVersion(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual int releaseMinorVersion()
		{
			int result = this.SwigDerivedClassHasMethod("releaseMinorVersion", OdDbBaseHostAppServices.swigMethodTypes13) ? GlobalsPINVOKE.OdDbBaseHostAppServices_releaseMinorVersionSwigExplicitOdDbBaseHostAppServices(this.swigCPtr) : GlobalsPINVOKE.OdDbBaseHostAppServices_releaseMinorVersion(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string versionString()
		{
			string result = this.SwigDerivedClassHasMethod("versionString", OdDbBaseHostAppServices.swigMethodTypes14) ? GlobalsPINVOKE.OdDbBaseHostAppServices_versionStringSwigExplicitOdDbBaseHostAppServices(this.swigCPtr) : GlobalsPINVOKE.OdDbBaseHostAppServices_versionString(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual void warning(string message)
		{
			if (this.SwigDerivedClassHasMethod("warning", OdDbBaseHostAppServices.swigMethodTypes15))
			{
				GlobalsPINVOKE.OdDbBaseHostAppServices_warningSwigExplicitOdDbBaseHostAppServices__SWIG_0(this.swigCPtr, message);
			}
			else
			{
				GlobalsPINVOKE.OdDbBaseHostAppServices_warning__SWIG_0(this.swigCPtr, message);
			}
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void warning(string warnVisGroup, string message)
		{
			if (this.SwigDerivedClassHasMethod("warning", OdDbBaseHostAppServices.swigMethodTypes16))
			{
				GlobalsPINVOKE.OdDbBaseHostAppServices_warningSwigExplicitOdDbBaseHostAppServices__SWIG_1(this.swigCPtr, warnVisGroup, message);
			}
			else
			{
				GlobalsPINVOKE.OdDbBaseHostAppServices_warning__SWIG_1(this.swigCPtr, warnVisGroup, message);
			}
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void warning(OdResult warningOb)
		{
			if (this.SwigDerivedClassHasMethod("warning", OdDbBaseHostAppServices.swigMethodTypes17))
			{
				GlobalsPINVOKE.OdDbBaseHostAppServices_warningSwigExplicitOdDbBaseHostAppServices__SWIG_2(this.swigCPtr, (int)warningOb);
			}
			else
			{
				GlobalsPINVOKE.OdDbBaseHostAppServices_warning__SWIG_2(this.swigCPtr, (int)warningOb);
			}
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual void warning(string warnVisGroup, OdResult warningOb)
		{
			if (this.SwigDerivedClassHasMethod("warning", OdDbBaseHostAppServices.swigMethodTypes18))
			{
				GlobalsPINVOKE.OdDbBaseHostAppServices_warningSwigExplicitOdDbBaseHostAppServices__SWIG_3(this.swigCPtr, warnVisGroup, (int)warningOb);
			}
			else
			{
				GlobalsPINVOKE.OdDbBaseHostAppServices_warning__SWIG_3(this.swigCPtr, warnVisGroup, (int)warningOb);
			}
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual string getErrorDescription(uint errorCode)
		{
			string result = this.SwigDerivedClassHasMethod("getErrorDescription", OdDbBaseHostAppServices.swigMethodTypes19) ? GlobalsPINVOKE.OdDbBaseHostAppServices_getErrorDescriptionSwigExplicitOdDbBaseHostAppServices(this.swigCPtr, errorCode) : GlobalsPINVOKE.OdDbBaseHostAppServices_getErrorDescription(this.swigCPtr, errorCode);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdDbUndoController newUndoController()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = this.SwigDerivedClassHasMethod("newUndoController", OdDbBaseHostAppServices.swigMethodTypes20) ? GlobalsPINVOKE.OdDbBaseHostAppServices_newUndoControllerSwigExplicitOdDbBaseHostAppServices(this.swigCPtr) : GlobalsPINVOKE.OdDbBaseHostAppServices_newUndoController(this.swigCPtr);
			OdDbUndoController result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdDbUndoController)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdDbUndoController)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdDbUndoController)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdStreamBuf newUndoStream()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = this.SwigDerivedClassHasMethod("newUndoStream", OdDbBaseHostAppServices.swigMethodTypes21) ? GlobalsPINVOKE.OdDbBaseHostAppServices_newUndoStreamSwigExplicitOdDbBaseHostAppServices(this.swigCPtr) : GlobalsPINVOKE.OdDbBaseHostAppServices_newUndoStream(this.swigCPtr);
			OdStreamBuf result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdStreamBuf)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdStreamBuf)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdStreamBuf)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual void auditPrintReport(OdAuditInfo pAuditInfo, string strLine, int printDest)
		{
			if (this.SwigDerivedClassHasMethod("auditPrintReport", OdDbBaseHostAppServices.swigMethodTypes22))
			{
				GlobalsPINVOKE.OdDbBaseHostAppServices_auditPrintReportSwigExplicitOdDbBaseHostAppServices(this.swigCPtr, OdAuditInfo.getCPtr(pAuditInfo), strLine, printDest);
			}
			else
			{
				GlobalsPINVOKE.OdDbBaseHostAppServices_auditPrintReport(this.swigCPtr, OdAuditInfo.getCPtr(pAuditInfo), strLine, printDest);
			}
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual bool ttfFileNameByDescriptor(OdTtfDescriptor description, ref string filename)
		{
			IntPtr intPtr = Marshal.StringToCoTaskMemUni(filename);
			IntPtr value = intPtr;
			bool result;
			try
			{
				bool flag = GlobalsPINVOKE.OdDbBaseHostAppServices_ttfFileNameByDescriptor(this.swigCPtr, OdTtfDescriptor.getCPtr(description), ref intPtr);
				if (GlobalsPINVOKE.SWIGPendingException.Pending)
				{
					throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
				}
				result = flag;
			}
			finally
			{
				if (intPtr != value)
				{
					filename = Marshal.PtrToStringUni(intPtr);
				}
			}
			return result;
		}

		public virtual string getAlternateFontName()
		{
			string result = GlobalsPINVOKE.OdDbBaseHostAppServices_getAlternateFontName(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string getFontMapFileName()
		{
			string result = GlobalsPINVOKE.OdDbBaseHostAppServices_getFontMapFileName(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string getPreferableFont(string fontName, OdFontType fontType)
		{
			string result = GlobalsPINVOKE.OdDbBaseHostAppServices_getPreferableFont(this.swigCPtr, fontName, (int)fontType);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string getSubstituteFont(string fontName, OdFontType fontType)
		{
			string result = GlobalsPINVOKE.OdDbBaseHostAppServices_getSubstituteFont(this.swigCPtr, fontName, (int)fontType);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string fileDialog(int flags, string dialogCaption, string defExt, string defFilename, string filter)
		{
			string result = this.SwigDerivedClassHasMethod("fileDialog", OdDbBaseHostAppServices.swigMethodTypes28) ? GlobalsPINVOKE.OdDbBaseHostAppServices_fileDialogSwigExplicitOdDbBaseHostAppServices__SWIG_0(this.swigCPtr, flags, dialogCaption, defExt, defFilename, filter) : GlobalsPINVOKE.OdDbBaseHostAppServices_fileDialog__SWIG_0(this.swigCPtr, flags, dialogCaption, defExt, defFilename, filter);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string fileDialog(int flags, string dialogCaption, string defExt, string defFilename)
		{
			string result = this.SwigDerivedClassHasMethod("fileDialog", OdDbBaseHostAppServices.swigMethodTypes29) ? GlobalsPINVOKE.OdDbBaseHostAppServices_fileDialogSwigExplicitOdDbBaseHostAppServices__SWIG_1(this.swigCPtr, flags, dialogCaption, defExt, defFilename) : GlobalsPINVOKE.OdDbBaseHostAppServices_fileDialog__SWIG_1(this.swigCPtr, flags, dialogCaption, defExt, defFilename);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string fileDialog(int flags, string dialogCaption, string defExt)
		{
			string result = this.SwigDerivedClassHasMethod("fileDialog", OdDbBaseHostAppServices.swigMethodTypes30) ? GlobalsPINVOKE.OdDbBaseHostAppServices_fileDialogSwigExplicitOdDbBaseHostAppServices__SWIG_2(this.swigCPtr, flags, dialogCaption, defExt) : GlobalsPINVOKE.OdDbBaseHostAppServices_fileDialog__SWIG_2(this.swigCPtr, flags, dialogCaption, defExt);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string fileDialog(int flags, string dialogCaption)
		{
			string result = this.SwigDerivedClassHasMethod("fileDialog", OdDbBaseHostAppServices.swigMethodTypes31) ? GlobalsPINVOKE.OdDbBaseHostAppServices_fileDialogSwigExplicitOdDbBaseHostAppServices__SWIG_3(this.swigCPtr, flags, dialogCaption) : GlobalsPINVOKE.OdDbBaseHostAppServices_fileDialog__SWIG_3(this.swigCPtr, flags, dialogCaption);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string fileDialog(int flags)
		{
			string result = this.SwigDerivedClassHasMethod("fileDialog", OdDbBaseHostAppServices.swigMethodTypes32) ? GlobalsPINVOKE.OdDbBaseHostAppServices_fileDialogSwigExplicitOdDbBaseHostAppServices__SWIG_4(this.swigCPtr, flags) : GlobalsPINVOKE.OdDbBaseHostAppServices_fileDialog__SWIG_4(this.swigCPtr, flags);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdGsDevice gsBitmapDevice(OdRxObject pViewObj, OdRxObject pDb, uint flags)
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = GlobalsPINVOKE.OdDbBaseHostAppServices_gsBitmapDevice__SWIG_0(this.swigCPtr, OdRxObject.getCPtr(pViewObj), OdRxObject.getCPtr(pDb), flags);
			OdGsDevice result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdGsDevice)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdGsDevice)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdGsDevice)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdGsDevice gsBitmapDevice(OdRxObject pViewObj, OdRxObject pDb)
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = GlobalsPINVOKE.OdDbBaseHostAppServices_gsBitmapDevice__SWIG_1(this.swigCPtr, OdRxObject.getCPtr(pViewObj), OdRxObject.getCPtr(pDb));
			OdGsDevice result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdGsDevice)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdGsDevice)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdGsDevice)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdGsDevice gsBitmapDevice(OdRxObject pViewObj)
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = GlobalsPINVOKE.OdDbBaseHostAppServices_gsBitmapDevice__SWIG_2(this.swigCPtr, OdRxObject.getCPtr(pViewObj));
			OdGsDevice result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdGsDevice)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdGsDevice)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdGsDevice)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdGsDevice gsBitmapDevice()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = GlobalsPINVOKE.OdDbBaseHostAppServices_gsBitmapDevice__SWIG_3(this.swigCPtr);
			OdGsDevice result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdGsDevice)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdGsDevice)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdGsDevice)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string getTempPath()
		{
			string result = this.SwigDerivedClassHasMethod("getTempPath", OdDbBaseHostAppServices.swigMethodTypes37) ? GlobalsPINVOKE.OdDbBaseHostAppServices_getTempPathSwigExplicitOdDbBaseHostAppServices(this.swigCPtr) : GlobalsPINVOKE.OdDbBaseHostAppServices_getTempPath(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual short getMtMode()
		{
			short result = GlobalsPINVOKE.OdDbBaseHostAppServices_getMtMode(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual int numThreads(MultiThreadedMode mtMode)
		{
			int result = this.SwigDerivedClassHasMethod("numThreads", OdDbBaseHostAppServices.swigMethodTypes38) ? GlobalsPINVOKE.OdDbBaseHostAppServices_numThreadsSwigExplicitOdDbBaseHostAppServices(this.swigCPtr, (int)mtMode) : GlobalsPINVOKE.OdDbBaseHostAppServices_numThreads(this.swigCPtr, (int)mtMode);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		private void SwigDirectorConnect()
		{
			if (this.SwigDerivedClassHasMethod("queryX", OdDbBaseHostAppServices.swigMethodTypes0))
			{
				this.swigDelegate0 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_0(this.SwigDirectorqueryX);
			}
			if (this.SwigDerivedClassHasMethod("isA", OdDbBaseHostAppServices.swigMethodTypes1))
			{
				this.swigDelegate1 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_1(this.SwigDirectorisA);
			}
			if (this.SwigDerivedClassHasMethod("findFile", OdDbBaseHostAppServices.swigMethodTypes2))
			{
				this.swigDelegate2 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_2(this.SwigDirectorfindFile__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("findFile", OdDbBaseHostAppServices.swigMethodTypes3))
			{
				this.swigDelegate3 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_3(this.SwigDirectorfindFile__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("findFile", OdDbBaseHostAppServices.swigMethodTypes4))
			{
				this.swigDelegate4 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_4(this.SwigDirectorfindFile__SWIG_2);
			}
			if (this.SwigDerivedClassHasMethod("newProgressMeter", OdDbBaseHostAppServices.swigMethodTypes5))
			{
				this.swigDelegate5 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_5(this.SwigDirectornewProgressMeter);
			}
			if (this.SwigDerivedClassHasMethod("releaseProgressMeter", OdDbBaseHostAppServices.swigMethodTypes6))
			{
				this.swigDelegate6 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_6(this.SwigDirectorreleaseProgressMeter);
			}
			if (this.SwigDerivedClassHasMethod("program", OdDbBaseHostAppServices.swigMethodTypes7))
			{
				this.swigDelegate7 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_7(this.SwigDirectorprogram);
			}
			if (this.SwigDerivedClassHasMethod("product", OdDbBaseHostAppServices.swigMethodTypes8))
			{
				this.swigDelegate8 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_8(this.SwigDirectorproduct);
			}
			if (this.SwigDerivedClassHasMethod("companyName", OdDbBaseHostAppServices.swigMethodTypes9))
			{
				this.swigDelegate9 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_9(this.SwigDirectorcompanyName);
			}
			if (this.SwigDerivedClassHasMethod("prodcode", OdDbBaseHostAppServices.swigMethodTypes10))
			{
				this.swigDelegate10 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_10(this.SwigDirectorprodcode);
			}
			if (this.SwigDerivedClassHasMethod("releaseMajorMinorString", OdDbBaseHostAppServices.swigMethodTypes11))
			{
				this.swigDelegate11 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_11(this.SwigDirectorreleaseMajorMinorString);
			}
			if (this.SwigDerivedClassHasMethod("releaseMajorVersion", OdDbBaseHostAppServices.swigMethodTypes12))
			{
				this.swigDelegate12 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_12(this.SwigDirectorreleaseMajorVersion);
			}
			if (this.SwigDerivedClassHasMethod("releaseMinorVersion", OdDbBaseHostAppServices.swigMethodTypes13))
			{
				this.swigDelegate13 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_13(this.SwigDirectorreleaseMinorVersion);
			}
			if (this.SwigDerivedClassHasMethod("versionString", OdDbBaseHostAppServices.swigMethodTypes14))
			{
				this.swigDelegate14 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_14(this.SwigDirectorversionString);
			}
			if (this.SwigDerivedClassHasMethod("warning", OdDbBaseHostAppServices.swigMethodTypes15))
			{
				this.swigDelegate15 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_15(this.SwigDirectorwarning__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("warning", OdDbBaseHostAppServices.swigMethodTypes16))
			{
				this.swigDelegate16 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_16(this.SwigDirectorwarning__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("warning", OdDbBaseHostAppServices.swigMethodTypes17))
			{
				this.swigDelegate17 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_17(this.SwigDirectorwarning__SWIG_2);
			}
			if (this.SwigDerivedClassHasMethod("warning", OdDbBaseHostAppServices.swigMethodTypes18))
			{
				this.swigDelegate18 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_18(this.SwigDirectorwarning__SWIG_3);
			}
			if (this.SwigDerivedClassHasMethod("getErrorDescription", OdDbBaseHostAppServices.swigMethodTypes19))
			{
				this.swigDelegate19 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_19(this.SwigDirectorgetErrorDescription);
			}
			if (this.SwigDerivedClassHasMethod("newUndoController", OdDbBaseHostAppServices.swigMethodTypes20))
			{
				this.swigDelegate20 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_20(this.SwigDirectornewUndoController);
			}
			if (this.SwigDerivedClassHasMethod("newUndoStream", OdDbBaseHostAppServices.swigMethodTypes21))
			{
				this.swigDelegate21 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_21(this.SwigDirectornewUndoStream);
			}
			if (this.SwigDerivedClassHasMethod("auditPrintReport", OdDbBaseHostAppServices.swigMethodTypes22))
			{
				this.swigDelegate22 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_22(this.SwigDirectorauditPrintReport);
			}
			if (this.SwigDerivedClassHasMethod("ttfFileNameByDescriptor", OdDbBaseHostAppServices.swigMethodTypes23))
			{
				this.swigDelegate23 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_23(this.SwigDirectorttfFileNameByDescriptor);
			}
			if (this.SwigDerivedClassHasMethod("getAlternateFontName", OdDbBaseHostAppServices.swigMethodTypes24))
			{
				this.swigDelegate24 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_24(this.SwigDirectorgetAlternateFontName);
			}
			if (this.SwigDerivedClassHasMethod("getFontMapFileName", OdDbBaseHostAppServices.swigMethodTypes25))
			{
				this.swigDelegate25 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_25(this.SwigDirectorgetFontMapFileName);
			}
			if (this.SwigDerivedClassHasMethod("getPreferableFont", OdDbBaseHostAppServices.swigMethodTypes26))
			{
				this.swigDelegate26 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_26(this.SwigDirectorgetPreferableFont);
			}
			if (this.SwigDerivedClassHasMethod("getSubstituteFont", OdDbBaseHostAppServices.swigMethodTypes27))
			{
				this.swigDelegate27 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_27(this.SwigDirectorgetSubstituteFont);
			}
			if (this.SwigDerivedClassHasMethod("fileDialog", OdDbBaseHostAppServices.swigMethodTypes28))
			{
				this.swigDelegate28 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_28(this.SwigDirectorfileDialog__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("fileDialog", OdDbBaseHostAppServices.swigMethodTypes29))
			{
				this.swigDelegate29 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_29(this.SwigDirectorfileDialog__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("fileDialog", OdDbBaseHostAppServices.swigMethodTypes30))
			{
				this.swigDelegate30 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_30(this.SwigDirectorfileDialog__SWIG_2);
			}
			if (this.SwigDerivedClassHasMethod("fileDialog", OdDbBaseHostAppServices.swigMethodTypes31))
			{
				this.swigDelegate31 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_31(this.SwigDirectorfileDialog__SWIG_3);
			}
			if (this.SwigDerivedClassHasMethod("fileDialog", OdDbBaseHostAppServices.swigMethodTypes32))
			{
				this.swigDelegate32 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_32(this.SwigDirectorfileDialog__SWIG_4);
			}
			if (this.SwigDerivedClassHasMethod("gsBitmapDevice", OdDbBaseHostAppServices.swigMethodTypes33))
			{
				this.swigDelegate33 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_33(this.SwigDirectorgsBitmapDevice__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("gsBitmapDevice", OdDbBaseHostAppServices.swigMethodTypes34))
			{
				this.swigDelegate34 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_34(this.SwigDirectorgsBitmapDevice__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("gsBitmapDevice", OdDbBaseHostAppServices.swigMethodTypes35))
			{
				this.swigDelegate35 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_35(this.SwigDirectorgsBitmapDevice__SWIG_2);
			}
			if (this.SwigDerivedClassHasMethod("gsBitmapDevice", OdDbBaseHostAppServices.swigMethodTypes36))
			{
				this.swigDelegate36 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_36(this.SwigDirectorgsBitmapDevice__SWIG_3);
			}
			if (this.SwigDerivedClassHasMethod("getTempPath", OdDbBaseHostAppServices.swigMethodTypes37))
			{
				this.swigDelegate37 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_37(this.SwigDirectorgetTempPath);
			}
			if (this.SwigDerivedClassHasMethod("numThreads", OdDbBaseHostAppServices.swigMethodTypes38))
			{
				this.swigDelegate38 = new OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_38(this.SwigDirectornumThreads);
			}
			GlobalsPINVOKE.OdDbBaseHostAppServices_director_connect(this.swigCPtr, this.swigDelegate0, this.swigDelegate1, this.swigDelegate2, this.swigDelegate3, this.swigDelegate4, this.swigDelegate5, this.swigDelegate6, this.swigDelegate7, this.swigDelegate8, this.swigDelegate9, this.swigDelegate10, this.swigDelegate11, this.swigDelegate12, this.swigDelegate13, this.swigDelegate14, this.swigDelegate15, this.swigDelegate16, this.swigDelegate17, this.swigDelegate18, this.swigDelegate19, this.swigDelegate20, this.swigDelegate21, this.swigDelegate22, this.swigDelegate23, this.swigDelegate24, this.swigDelegate25, this.swigDelegate26, this.swigDelegate27, this.swigDelegate28, this.swigDelegate29, this.swigDelegate30, this.swigDelegate31, this.swigDelegate32, this.swigDelegate33, this.swigDelegate34, this.swigDelegate35, this.swigDelegate36, this.swigDelegate37, this.swigDelegate38);
		}

		private bool SwigDerivedClassHasMethod(string methodName, Type[] methodTypes)
		{
			MethodInfo method = base.GetType().GetMethod(methodName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, methodTypes, null);
			return method.DeclaringType.IsSubclassOf(typeof(OdDbBaseHostAppServices));
		}

		private IntPtr SwigDirectorqueryX(IntPtr protocolClass)
		{
			return OdRxObject.getCPtr(this.queryX((OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(protocolClass, false))).Handle;
		}

		private IntPtr SwigDirectorisA()
		{
			return OdRxClass.getCPtr(this.isA()).Handle;
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorfindFile__SWIG_0([MarshalAs(UnmanagedType.LPWStr)] string filename, IntPtr pDb, int hint)
		{
			return this.findFile(filename, Teigha.Core.Helpers.odrxCreateObjectInternal(pDb, false), (OdDbBaseHostAppServices.FindFileHint)hint);
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorfindFile__SWIG_1([MarshalAs(UnmanagedType.LPWStr)] string filename, IntPtr pDb)
		{
			return this.findFile(filename, Teigha.Core.Helpers.odrxCreateObjectInternal(pDb, false));
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorfindFile__SWIG_2([MarshalAs(UnmanagedType.LPWStr)] string filename)
		{
			return this.findFile(filename);
		}

		private IntPtr SwigDirectornewProgressMeter()
		{
			return OdDbHostAppProgressMeter.getCPtr(this.newProgressMeter()).Handle;
		}

		private void SwigDirectorreleaseProgressMeter(IntPtr pProgressMeter)
		{
			this.releaseProgressMeter((pProgressMeter == IntPtr.Zero) ? null : new OdDbHostAppProgressMeter(pProgressMeter, false));
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorprogram()
		{
			return this.program();
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorproduct()
		{
			return this.product();
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorcompanyName()
		{
			return this.companyName();
		}

		private int SwigDirectorprodcode()
		{
			return (int)this.prodcode();
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorreleaseMajorMinorString()
		{
			return this.releaseMajorMinorString();
		}

		private int SwigDirectorreleaseMajorVersion()
		{
			return this.releaseMajorVersion();
		}

		private int SwigDirectorreleaseMinorVersion()
		{
			return this.releaseMinorVersion();
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorversionString()
		{
			return this.versionString();
		}

		private void SwigDirectorwarning__SWIG_0([MarshalAs(UnmanagedType.LPWStr)] string message)
		{
			this.warning(message);
		}

		private void SwigDirectorwarning__SWIG_1(string warnVisGroup, [MarshalAs(UnmanagedType.LPWStr)] string message)
		{
			this.warning(warnVisGroup, message);
		}

		private void SwigDirectorwarning__SWIG_2(int warningOb)
		{
			this.warning((OdResult)warningOb);
		}

		private void SwigDirectorwarning__SWIG_3(string warnVisGroup, int warningOb)
		{
			this.warning(warnVisGroup, (OdResult)warningOb);
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorgetErrorDescription(uint errorCode)
		{
			return this.getErrorDescription(errorCode);
		}

		private IntPtr SwigDirectornewUndoController()
		{
			return OdDbUndoController.getCPtr(this.newUndoController()).Handle;
		}

		private IntPtr SwigDirectornewUndoStream()
		{
			return OdStreamBuf.getCPtr(this.newUndoStream()).Handle;
		}

		private void SwigDirectorauditPrintReport(IntPtr pAuditInfo, [MarshalAs(UnmanagedType.LPWStr)] string strLine, int printDest)
		{
			this.auditPrintReport((pAuditInfo == IntPtr.Zero) ? null : new OdAuditInfo(pAuditInfo, false), strLine, printDest);
		}

		private bool SwigDirectorttfFileNameByDescriptor(IntPtr description, ref IntPtr filename)
		{
			string text = Marshal.PtrToStringUni(filename);
			string b = text;
			bool result;
			try
			{
				result = this.ttfFileNameByDescriptor(new OdTtfDescriptor(description, false), ref text);
			}
			finally
			{
				if (text != b)
				{
					filename = Marshal.StringToCoTaskMemUni(text);
				}
			}
			return result;
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorgetAlternateFontName()
		{
			return this.getAlternateFontName();
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorgetFontMapFileName()
		{
			return this.getFontMapFileName();
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorgetPreferableFont([MarshalAs(UnmanagedType.LPWStr)] string fontName, int fontType)
		{
			return this.getPreferableFont(fontName, (OdFontType)fontType);
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorgetSubstituteFont([MarshalAs(UnmanagedType.LPWStr)] string fontName, int fontType)
		{
			return this.getSubstituteFont(fontName, (OdFontType)fontType);
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorfileDialog__SWIG_0(int flags, [MarshalAs(UnmanagedType.LPWStr)] string dialogCaption, [MarshalAs(UnmanagedType.LPWStr)] string defExt, [MarshalAs(UnmanagedType.LPWStr)] string defFilename, [MarshalAs(UnmanagedType.LPWStr)] string filter)
		{
			return this.fileDialog(flags, dialogCaption, defExt, defFilename, filter);
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorfileDialog__SWIG_1(int flags, [MarshalAs(UnmanagedType.LPWStr)] string dialogCaption, [MarshalAs(UnmanagedType.LPWStr)] string defExt, [MarshalAs(UnmanagedType.LPWStr)] string defFilename)
		{
			return this.fileDialog(flags, dialogCaption, defExt, defFilename);
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorfileDialog__SWIG_2(int flags, [MarshalAs(UnmanagedType.LPWStr)] string dialogCaption, [MarshalAs(UnmanagedType.LPWStr)] string defExt)
		{
			return this.fileDialog(flags, dialogCaption, defExt);
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorfileDialog__SWIG_3(int flags, [MarshalAs(UnmanagedType.LPWStr)] string dialogCaption)
		{
			return this.fileDialog(flags, dialogCaption);
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorfileDialog__SWIG_4(int flags)
		{
			return this.fileDialog(flags);
		}

		private IntPtr SwigDirectorgsBitmapDevice__SWIG_0(IntPtr pViewObj, IntPtr pDb, uint flags)
		{
			return OdGsDevice.getCPtr(this.gsBitmapDevice(Teigha.Core.Helpers.odrxCreateObjectInternal(pViewObj, false), Teigha.Core.Helpers.odrxCreateObjectInternal(pDb, false), flags)).Handle;
		}

		private IntPtr SwigDirectorgsBitmapDevice__SWIG_1(IntPtr pViewObj, IntPtr pDb)
		{
			return OdGsDevice.getCPtr(this.gsBitmapDevice(Teigha.Core.Helpers.odrxCreateObjectInternal(pViewObj, false), Teigha.Core.Helpers.odrxCreateObjectInternal(pDb, false))).Handle;
		}

		private IntPtr SwigDirectorgsBitmapDevice__SWIG_2(IntPtr pViewObj)
		{
			return OdGsDevice.getCPtr(this.gsBitmapDevice(Teigha.Core.Helpers.odrxCreateObjectInternal(pViewObj, false))).Handle;
		}

		private IntPtr SwigDirectorgsBitmapDevice__SWIG_3()
		{
			return OdGsDevice.getCPtr(this.gsBitmapDevice()).Handle;
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorgetTempPath()
		{
			return this.getTempPath();
		}

		private int SwigDirectornumThreads(int mtMode)
		{
			return this.numThreads((MultiThreadedMode)mtMode);
		}

		private object locker = new object();

		private HandleRef swigCPtr;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_0 swigDelegate0;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_1 swigDelegate1;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_2 swigDelegate2;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_3 swigDelegate3;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_4 swigDelegate4;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_5 swigDelegate5;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_6 swigDelegate6;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_7 swigDelegate7;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_8 swigDelegate8;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_9 swigDelegate9;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_10 swigDelegate10;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_11 swigDelegate11;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_12 swigDelegate12;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_13 swigDelegate13;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_14 swigDelegate14;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_15 swigDelegate15;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_16 swigDelegate16;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_17 swigDelegate17;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_18 swigDelegate18;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_19 swigDelegate19;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_20 swigDelegate20;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_21 swigDelegate21;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_22 swigDelegate22;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_23 swigDelegate23;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_24 swigDelegate24;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_25 swigDelegate25;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_26 swigDelegate26;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_27 swigDelegate27;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_28 swigDelegate28;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_29 swigDelegate29;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_30 swigDelegate30;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_31 swigDelegate31;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_32 swigDelegate32;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_33 swigDelegate33;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_34 swigDelegate34;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_35 swigDelegate35;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_36 swigDelegate36;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_37 swigDelegate37;

		private OdDbBaseHostAppServices.SwigDelegateOdDbBaseHostAppServices_38 swigDelegate38;

		private static Type[] swigMethodTypes0 = new Type[]
		{
			typeof(OdRxClass)
		};

		private static Type[] swigMethodTypes1 = new Type[0];

		private static Type[] swigMethodTypes2 = new Type[]
		{
			typeof(string),
			typeof(OdRxObject),
			typeof(OdDbBaseHostAppServices.FindFileHint)
		};

		private static Type[] swigMethodTypes3 = new Type[]
		{
			typeof(string),
			typeof(OdRxObject)
		};

		private static Type[] swigMethodTypes4 = new Type[]
		{
			typeof(string)
		};

		private static Type[] swigMethodTypes5 = new Type[0];

		private static Type[] swigMethodTypes6 = new Type[]
		{
			typeof(OdDbHostAppProgressMeter)
		};

		private static Type[] swigMethodTypes7 = new Type[0];

		private static Type[] swigMethodTypes8 = new Type[0];

		private static Type[] swigMethodTypes9 = new Type[0];

		private static Type[] swigMethodTypes10 = new Type[0];

		private static Type[] swigMethodTypes11 = new Type[0];

		private static Type[] swigMethodTypes12 = new Type[0];

		private static Type[] swigMethodTypes13 = new Type[0];

		private static Type[] swigMethodTypes14 = new Type[0];

		private static Type[] swigMethodTypes15 = new Type[]
		{
			typeof(string)
		};

		private static Type[] swigMethodTypes16 = new Type[]
		{
			typeof(string),
			typeof(string)
		};

		private static Type[] swigMethodTypes17 = new Type[]
		{
			typeof(OdResult)
		};

		private static Type[] swigMethodTypes18 = new Type[]
		{
			typeof(string),
			typeof(OdResult)
		};

		private static Type[] swigMethodTypes19 = new Type[]
		{
			typeof(uint)
		};

		private static Type[] swigMethodTypes20 = new Type[0];

		private static Type[] swigMethodTypes21 = new Type[0];

		private static Type[] swigMethodTypes22 = new Type[]
		{
			typeof(OdAuditInfo),
			typeof(string),
			typeof(int)
		};

		private static Type[] swigMethodTypes23 = new Type[]
		{
			typeof(OdTtfDescriptor),
			typeof(string).MakeByRefType()
		};

		private static Type[] swigMethodTypes24 = new Type[0];

		private static Type[] swigMethodTypes25 = new Type[0];

		private static Type[] swigMethodTypes26 = new Type[]
		{
			typeof(string),
			typeof(OdFontType)
		};

		private static Type[] swigMethodTypes27 = new Type[]
		{
			typeof(string),
			typeof(OdFontType)
		};

		private static Type[] swigMethodTypes28 = new Type[]
		{
			typeof(int),
			typeof(string),
			typeof(string),
			typeof(string),
			typeof(string)
		};

		private static Type[] swigMethodTypes29 = new Type[]
		{
			typeof(int),
			typeof(string),
			typeof(string),
			typeof(string)
		};

		private static Type[] swigMethodTypes30 = new Type[]
		{
			typeof(int),
			typeof(string),
			typeof(string)
		};

		private static Type[] swigMethodTypes31 = new Type[]
		{
			typeof(int),
			typeof(string)
		};

		private static Type[] swigMethodTypes32 = new Type[]
		{
			typeof(int)
		};

		private static Type[] swigMethodTypes33 = new Type[]
		{
			typeof(OdRxObject),
			typeof(OdRxObject),
			typeof(uint)
		};

		private static Type[] swigMethodTypes34 = new Type[]
		{
			typeof(OdRxObject),
			typeof(OdRxObject)
		};

		private static Type[] swigMethodTypes35 = new Type[]
		{
			typeof(OdRxObject)
		};

		private static Type[] swigMethodTypes36 = new Type[0];

		private static Type[] swigMethodTypes37 = new Type[0];

		private static Type[] swigMethodTypes38 = new Type[]
		{
			typeof(MultiThreadedMode)
		};

		public delegate IntPtr SwigDelegateOdDbBaseHostAppServices_0(IntPtr protocolClass);

		public delegate IntPtr SwigDelegateOdDbBaseHostAppServices_1();

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_2([MarshalAs(UnmanagedType.LPWStr)] string filename, IntPtr pDb, int hint);

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_3([MarshalAs(UnmanagedType.LPWStr)] string filename, IntPtr pDb);

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_4([MarshalAs(UnmanagedType.LPWStr)] string filename);

		public delegate IntPtr SwigDelegateOdDbBaseHostAppServices_5();

		public delegate void SwigDelegateOdDbBaseHostAppServices_6(IntPtr pProgressMeter);

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_7();

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_8();

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_9();

		public delegate int SwigDelegateOdDbBaseHostAppServices_10();

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_11();

		public delegate int SwigDelegateOdDbBaseHostAppServices_12();

		public delegate int SwigDelegateOdDbBaseHostAppServices_13();

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_14();

		public delegate void SwigDelegateOdDbBaseHostAppServices_15([MarshalAs(UnmanagedType.LPWStr)] string message);

		public delegate void SwigDelegateOdDbBaseHostAppServices_16(string warnVisGroup, [MarshalAs(UnmanagedType.LPWStr)] string message);

		public delegate void SwigDelegateOdDbBaseHostAppServices_17(int warningOb);

		public delegate void SwigDelegateOdDbBaseHostAppServices_18(string warnVisGroup, int warningOb);

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_19(uint errorCode);

		public delegate IntPtr SwigDelegateOdDbBaseHostAppServices_20();

		public delegate IntPtr SwigDelegateOdDbBaseHostAppServices_21();

		public delegate void SwigDelegateOdDbBaseHostAppServices_22(IntPtr pAuditInfo, [MarshalAs(UnmanagedType.LPWStr)] string strLine, int printDest);

		public delegate bool SwigDelegateOdDbBaseHostAppServices_23(IntPtr description, ref IntPtr filename);

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_24();

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_25();

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_26([MarshalAs(UnmanagedType.LPWStr)] string fontName, int fontType);

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_27([MarshalAs(UnmanagedType.LPWStr)] string fontName, int fontType);

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_28(int flags, [MarshalAs(UnmanagedType.LPWStr)] string dialogCaption, [MarshalAs(UnmanagedType.LPWStr)] string defExt, [MarshalAs(UnmanagedType.LPWStr)] string defFilename, [MarshalAs(UnmanagedType.LPWStr)] string filter);

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_29(int flags, [MarshalAs(UnmanagedType.LPWStr)] string dialogCaption, [MarshalAs(UnmanagedType.LPWStr)] string defExt, [MarshalAs(UnmanagedType.LPWStr)] string defFilename);

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_30(int flags, [MarshalAs(UnmanagedType.LPWStr)] string dialogCaption, [MarshalAs(UnmanagedType.LPWStr)] string defExt);

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_31(int flags, [MarshalAs(UnmanagedType.LPWStr)] string dialogCaption);

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_32(int flags);

		public delegate IntPtr SwigDelegateOdDbBaseHostAppServices_33(IntPtr pViewObj, IntPtr pDb, uint flags);

		public delegate IntPtr SwigDelegateOdDbBaseHostAppServices_34(IntPtr pViewObj, IntPtr pDb);

		public delegate IntPtr SwigDelegateOdDbBaseHostAppServices_35(IntPtr pViewObj);

		public delegate IntPtr SwigDelegateOdDbBaseHostAppServices_36();

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbBaseHostAppServices_37();

		public delegate int SwigDelegateOdDbBaseHostAppServices_38(int mtMode);

		public enum RemapFileContext
		{
			kDrawingOpen,
			kXrefResolution,
			kRasterResolution
		}

		public enum FindFileHint
		{
			kDefault,
			kFontFile,
			kCompiledShapeFile,
			kTrueTypeFontFile,
			kEmbeddedImageFile,
			kXRefDrawing,
			kPatternFile,
			kTXApplication,
			kFontMapFile,
			kUnderlayFile,
			kTextureMapFile,
			kPhotometricWebFile
		}

		public enum GsBitmapDeviceFlags
		{
			kUseSoftwareHLR = 1,
			kFor2dExportRender,
			kFor2dExportRenderHLR = 4,
			kForThumbnail = 8
		}
	}
}
